function loginAdmins($login,$password){
$login = quotemeta($login);
$password = quotemeta($password);
$_ADMIN = array();
$_ADMIN['mess'] = "";
$sql = "select * from users u,users_groups ug where login='".$login."' and u.uid=ug.uid limit 1";
$row = db_fetch(db_query($sql));
if ($row['uid'] > 0){
if ( $row['password'] == MD5($password) ){
$_ADMIN['uid'] = $row['uid'];
$_ADMIN['login'] = $row['login'];
$_ADMIN['u_name'] = $row['u_name'];
$_ADMIN['u_sname'] = $row['u_sname'];
//$_ADMIN['groupid'] = $row['groupid'];
$access = array();
$sql = "select distinct ga.plugins_name from groups_access ga,users_groups ug where ug.uid='".$row['uid']."' and ug.group_id =ga.gid";
$rs_a = db_query($sql);
while($row_a = db_fetch($rs_a)){
$access[$row_a['plugins_name']] = 1;
}
$_ADMIN['access'] = $access;
$_SESSION['_ADMIN'] = $_ADMIN;
//logUser($_ADMIN['uid']);
} else {
$_ADMIN['mess'] = "Неверный пароль";
}
} else {
global $admin_user, $admin_pass;
if ($login == $admin_user){
$sql = "select value_field from table_info where name_field='pass'";
$row = db_fetch(db_query($sql));
if ($row['value_field'] <> ""){
$admin_pass = $row['value_field'];
}
if (md5($password) == $admin_pass) {
$_ADMIN['uid'] = 1;
$_ADMIN['login'] = $admin_user;
$_ADMIN['u_name'] = $admin_user;
$_ADMIN['u_sname'] = $admin_user;
$_ADMIN['groupid'] = 2;
global $plugins;
$access = array();
foreach ($plugins as $key => $val){
foreach ($val as $key2 => $val2){
$access[$key2] = 1;
}
}
$_ADMIN['access'] = $access;
$_SESSION['_ADMIN'] = $_ADMIN;
} else {
$_ADMIN['mess'] = "Неверный пароль";
}
} else {
$_ADMIN['mess'] = "Данного пользователя нет в системе";
}
}
return $_ADMIN;
}
function getPath($parent_id,$path = ""){
global $lang;
if ($parent_id > 0){
$sql = "select c.alias,c.cid,c.parent_id,c.type,c.razdel_name from content c where c.cid = '".$parent_id."'";
$row = db_fetch(db_query($sql));
if ($row['alias'] <> ""){
$link = $row['alias'];
} else {
$link = $row['cid'];
}
switch($row['razdel_name']){
case 'catalog':
if($row['type'] =='t_real'){
$link = "real/".$link;
} else {
$link = "catalog/?type=".$link;
};
break;
case 'text': $link = "text/".$link; break;
case 'news': $link = "news/".$link; break;
default: $link = $row['razdel_name']."/".$link;
}
$sql = "select name from ".$row['type']." where id = '".$row['cid']."' and lang_id='".$lang."'";
$row_n = db_fetch(db_query($sql));
$out = " > ".$row_n['name']."".$path;
if ( $row['parent_id'] > 0){
$out = getPath($row['parent_id'],$out);
} else {
$sql = "select rl.name from razdels r,razdels_lang rl where r.razdel_name ='".$row['razdel_name']."' and r.rid=rl.rid and rl.lang ='".$lang."'";
$row_l = db_fetch(db_query($sql));
switch($row['razdel_name']){
case 'tyres': $link = "catalog"; break;
case 'disk_catalog': $link = "catalog_disk"; break;
case 'text': $link = "text"; break;
case 'news': $link = "news"; break;
default: $link = $row['razdel_name'];
}
$out = "".$_SERVER['HTTP_HOST']." > ".$row_l['name']." ".$out;
}
return $out;
} else {
return "".$_SERVER['HTTP_HOST']."";
}
}
function getPathShop($parent_id,$path = ""){
global $lang;
if ($parent_id > 0){
$sql = "select c.alias,c.cid,c.parent_id,c.type,c.razdel_id,s.parent_id as struc_parent from shop_content c, shop_struct s where c.cid = '".$parent_id."' and s.razdel_id = c.razdel_id";
$row = db_fetch(db_query($sql));
if ($row['alias'] <> ""){
$link = $row['alias'];
} else {
$link = $row['cid'];
}
switch($row['struc_parent']){
case 'tree': $link = "razdel/".$link; break;
default: $link = "items/".$link;
}
$sql = "select name from ".$row['type']." where id = '".$row['cid']."' and lang_id='".$lang."'";
$row_n = db_fetch(db_query($sql));
$out = " > ".$row_n['name']."".$path;
if ( $row['parent_id'] > 0){
$out = getPathShop($row['parent_id'],$out);
} else {
$out = "".$_SERVER['HTTP_HOST']." ".$out;
}
return $out;
} else {
return "".$_SERVER['HTTP_HOST']."";
}
}
function getLevel($parent_id,$razdel_name,$level = 1){
if ($parent_id > 0){
$level = $level+1;
$sql = "select c.cid, c.parent_id from content c where c.cid = '".$parent_id."' and c.razdel_name='".$razdel_name."'";
$row = db_fetch(db_query($sql));
if ( $row['parent_id'] > 0){
$level = getLevel($row['parent_id'],$razdel_name,$level);
}
return $level;
}
return $level;
}
function logUser(){
return '';
global $_USER,$log_message;
require_once 'user_info.php';
$uinfo = new user_info();
$referer = @$_SERVER["HTTP_REFERER"];
$useragent = $uinfo->user_agent();
$ip = $uinfo->IP();
$path = $uinfo->url();
$os = $uinfo->os('name');
$os_version = $uinfo->os('version');
$browser = $uinfo->browser('name');
$crawler = (int)$uinfo->is_crawler();
$login_uid = (int)@$_USER['uid'];
$sessid = session_id();
$mess = $log_message;
$browser_version = $uinfo->browser('version');
$dateLog = date("Y-m-d 00:00:00",strtotime("-2 day"));
$sql = "select uid from logs where datePost >='".$dateLog."' and sessid='".$sessid."' limit 1 ";
$row = db_fetch(db_query($sql));
if ($row['uid'] > 0){
$uid = $row['uid'];
$first = 0;
} else {
$first = 1;
$sql = "select max(uid) as muid from logs ";
$row = db_fetch(db_query($sql));
$uid = $row['muid']+1;
}
$sql = "insert into logs( `uid`,`sessid`, `ip` , `path` , `referer` , `useragent` , `os` , `os_version` , `browser` , `browser_version` , `crawler`,first,login_uid,mess)
values ('".$uid."','".$sessid."','".$ip."','".$path."','".$referer."','".$useragent."','".$os."','".$os_version."','".$browser."','".$browser_version."','".$crawler."','".$first."','".$login_uid."','".$mess."')";
db_query($sql);
}
function siteMap_($parent_id = 0){
global $lang;
$sql = "select * from content c,content_body cb where
c.parent_id='".$parent_id."' and type='articles' and disable=0 and c.cid=cb.cid and cb.lang='".$lang."'";
$rs = db_query($sql);
$map = "";
while($row = db_fetch($rs)){
if ($row['alias'] <> ""){
$link = $row['alias'];
} else {
$link = $row['cid'];
}
$map .= "
";
$map .= siteMap($row['cid']);
}
if ($map <> ""){ $map = "";};
return $map;
}
function siteMapShop($parent_id=0,$level=0){
global $lang;
$level++;
$map ="";
$sql = "select * from shop_struct ss, shop_struct_names ssn where ss.razdel_id=ssn.razdel_id
and ss.disable=0 and ssn.lang_id = '".$lang."' and ss.parent_id='".$parent_id."' order by pos ";
$rs = db_query($sql);
while($row = db_fetch($rs)){
if ($level==1){
$map .= "".$row['name']."";
} elseif($level==2){
$map .= "".$row['name']."";
}else {
$map .= "".$row['name']."";
}
if($row['block'] <> 'shop_struct_names'){
$sql = "select * from ".$row['block']." ssn where ssn.razdel_id='".$row['razdel_id']."'
and ssn.lang_id = '".$lang."' and disable=0 order by pos";
$rs2 = db_query($sql);
$smap = "";
while($row2 = db_fetch($rs2)){
$smap .= "".$row2['name']."";
}
if ($smap <> ""){
$map .= "";
};
}
$map .= siteMapShop($row['razdel_id'],$level);
}
if ($map <> ""){
$map = "";
};
if($level==1){
$map = "".text("catalog")."" ;
}
return $map;
}
function siteMap(){
global $lang;
$map ="";
$sql = "select name,razdel_name from razdels_lang rl, razdels r where r.rid=rl.rid and rl.lang='".$lang."'
and razdel_name <> 'podbor_avto' order by name";
$rs = db_query($sql);
while($row_razdel = db_fetch($rs)){
switch($row_razdel['razdel_name']){
case 'shop':
$link = "razdel";
break;
case 'disk_catalog':
$link = "catalog_disk";
break;
default: $link = $row_razdel['razdel_name'];
}
$map .= "".$row_razdel['name']."";
$map .= siteMap_in($row_razdel['razdel_name']);
$map.="
";
}
return $map;
}
function siteMap_in($razdel_name, $parent_id = 0,$level=1){
global $lang;
if($level >=4 and (($razdel_name == 'tyres') or ($razdel_name == 'disk_catalog'))){
return "";
}
$sql = "select * from content c where c.parent_id='".$parent_id."' and c.razdel_name='".$razdel_name."' and disable=0 order by pos desc, alias";
$rs = db_query($sql);
$map = "";
while($row = db_fetch($rs)){
if($row['type'] <> 't_size' and $row['type'] <> 't_size_disk' ){
$sql2 = "select * from ".$row['type']." where id='".$row['cid']."' and lang_id='".$lang."'";
$row2 = db_fetch(db_query($sql2));
if ($row['alias'] <> ""){
$link = $row['alias'];
} else {
$link = $row['cid'];
}
switch($row['razdel_name']){
case 'shop':
if($row['type'] =='t_cat'){
$link = "razdel/".$link;
} else {
$link = "catalog/?type=".$link;
};
break;
case 'text': $link = "text/".$link; break;
case 'news': $link = "news/".$link; break;
default: $link = $row['razdel_name']."/".$link;
}
if($row2['name'] <> ""){
if($row['type'] =='t_tovar'){
$map .= " ".$row2['name']."";
}else {
$map .= "".$row2['name']."";
$map .= siteMap_in($razdel_name, $row['cid'],$level+1);
}
}
}
}
if ($map <> ""){
$map = "";
};
return $map;
}
function is_admin($uid){
$sql = "select * from users_groups where uid='".$uid."' and group_id=2";
$row = db_fetch(db_query($sql));
if ($row['uid'] > 0 ){
return true;
} else {
return false;
}
}
function add_comment($id,$type){
global $in,$_USER;
$rating = (int)@$in['rating'];
$comment = wordwrap(substr(@$in['comment'],0,1000), 30, " ",1);
//$code = @$in['code'];
if( $comment == ""){
return "";
} elseif($rating < 1 or $rating > 5) {
return text('enter_rating');
} else {
$sql = "insert into comments (id,type,u_name,u_comment,disable,rating) values('".$id."','".$type."','".$_USER['u_sname']." ".$_USER['u_name']."','".$comment."',1,'".$rating."')";
$res = db_query($sql);
return text('comment_added');;
}
}
function add_comment_shop($id){
global $in;
$name = @$in['name'];
$rating = (int)@$in['rating'];
$comment = wordwrap(substr(@$in['comment'],0,1000), 30, " ",1);
$code = @$in['code'];
if($name == "" or $comment == ""){
return text('enter_fiels');
} elseif($rating < 1 or $rating > 5) {
return text('enter_rating');
}elseif(strtoupper($code) <> $_SESSION['_REG']['code']){
return text('enter_code_er');
} else {
$sql = "insert into comments_shop (id,type,u_name,u_comment,disable,rating) values('".$id."','".$type."','".$name."','".$comment."',0,'".$rating."')";
$res = db_query($sql);
return "OK";
}
}
function deletePath($cid){
$sql = "select count(*) as cnt from content where parent_id = '".$cid."'";
$row = db_fetch(db_query($sql));
if($row['cnt'] > 0){
$sql = "select * from content where parent_id = '".$cid."'";
$rs = db_query($sql);
while($row = db_fetch($rs)){
deletePath($row['cid']);
}
$sql = "select * from content where cid = '".$cid."'";
$row = db_fetch(db_query($sql));
$sql = "delete from content where cid = '".$cid."'";
if (db_query($sql)){
$sql = "insert into content_deleted(`cid`,`razdel_name`,`type`,`parent_id`,`stype`,`disable`,`alias`,`pos`,`dateCreate`,dateDelete)
values('".$row['cid']."','".$row['razdel_name']."','".$row['type']."','".$row['parent_id']."',
'".$row['stype']."','".$row['disable']."','".$row['alias']."','".$row['pos']."','".$row['dateCreate']."',NOW())";
db_query($sql);
// $sql = "delete from ".$row['type']." where id = '".$cid."' ";
// db_query($sql);
//@unlink( $cfg_static_path."content/".$type."/".$cid."_sm.jpg");
//@unlink( $cfg_static_path."content/".$type."/".$cid."_big.jpg");
//@unlink( $cfg_static_path."content/".$type."/".$cid.".png");
}
} else {
$sql = "select * from content where cid = '".$cid."'";
$row = db_fetch(db_query($sql));
$sql = "delete from content where cid = '".$cid."'";
if (db_query($sql)){
$sql = "insert into content_deleted(`cid`,`razdel_name`,`type`,`parent_id`,`stype`,`disable`,`alias`,`pos`,`dateCreate`,dateDelete)
values('".$row['cid']."','".$row['razdel_name']."','".$row['type']."','".$row['parent_id']."',
'".$row['stype']."','".$row['disable']."','".$row['alias']."','".$row['pos']."','".$row['dateCreate']."',NOW())";
db_query($sql);
//$sql = "delete from ".$row['type']." where id = '".$cid."' ";
//db_query($sql);
//@unlink( $cfg_static_path."content/".$type."/".$cid."_sm.jpg");
//@unlink( $cfg_static_path."content/".$type."/".$cid."_big.jpg");
//@unlink( $cfg_static_path."content/".$type."/".$cid.".png");
}
}
}
function deletePathTrash($cid){
$sql = "select count(*) as cnt from content_deleted where parent_id = '".$cid."'";
$row = db_fetch(db_query($sql));
if($row['cnt'] > 0){
$sql = "select * from content_deleted where parent_id = '".$cid."'";
$rs = db_query($sql);
while($row = db_fetch($rs)){
deletePathTrash($row['cid']);
}
$sql = "select * from content_deleted where cid = '".$cid."'";
$row = db_fetch(db_query($sql));
$sql = "delete from content_deleted where cid = '".$cid."'";
if (db_query($sql)){
$sql = "delete from ".$row['type']." where id = '".$cid."' ";
db_query($sql);
@unlink( $cfg_static_path."content/".$type."/".$cid."_sm.jpg");
@unlink( $cfg_static_path."content/".$type."/".$cid."_big.jpg");
@unlink( $cfg_static_path."content/".$type."/".$cid.".png");
}
} else {
$sql = "select * from content_deleted where cid = '".$cid."'";
$row = db_fetch(db_query($sql));
$sql = "delete from content_deleted where cid = '".$cid."'";
if (db_query($sql)){
$sql = "delete from ".$row['type']." where id = '".$cid."' ";
db_query($sql);
@unlink( $cfg_static_path."content/".$type."/".$cid."_sm.jpg");
@unlink( $cfg_static_path."content/".$type."/".$cid."_big.jpg");
@unlink( $cfg_static_path."content/".$type."/".$cid.".png");
}
}
}
function restorePathTrash($cid){
$sql = "select count(*) as cnt from content_deleted where parent_id = '".$cid."'";
$row = db_fetch(db_query($sql));
if($row['cnt'] > 0){
$sql = "select * from content_deleted where parent_id = '".$cid."'";
$rs = db_query($sql);
while($row = db_fetch($rs)){
restorePathTrash($row['cid']);
}
$sql = "select * from content_deleted where cid = '".$cid."'";
$row = db_fetch(db_query($sql));
$sql = "delete from content_deleted where cid = '".$cid."'";
if (db_query($sql)){
$sql = "insert into content(`cid`,`razdel_name`,`type`,`parent_id`,`stype`,`disable`,`alias`,`pos`,`dateCreate` )
values('".$row['cid']."','".$row['razdel_name']."','".$row['type']."','".$row['parent_id']."',
'".$row['stype']."','".$row['disable']."','".$row['alias']."','".$row['pos']."','".$row['dateCreate']."' )";
db_query($sql);
}
} else {
$sql = "select * from content_deleted where cid = '".$cid."'";
$row = db_fetch(db_query($sql));
$sql = "delete from content_deleted where cid = '".$cid."'";
if (db_query($sql)){
$sql = "insert into content(`cid`,`razdel_name`,`type`,`parent_id`,`stype`,`disable`,`alias`,`pos`,`dateCreate` )
values('".$row['cid']."','".$row['razdel_name']."','".$row['type']."','".$row['parent_id']."',
'".$row['stype']."','".$row['disable']."','".$row['alias']."','".$row['pos']."','".$row['dateCreate']."' )";
db_query($sql);
}
}
}
function crosslink($context){
global $cross_links;
//print_r($cross_links);
if ($context <> "" and count($cross_links) > 0){
$context = preg_replace(array_keys($cross_links),$cross_links,$context);
//$string = "April 15, 2003";
//$pattern = "'(ap)'i";
//$replacement = "\$1_";
//$context = preg_replace($pattern, $replacement, $string);
}
return $context;
}
function unlinkRecursive($dir, $deleteRootToo)
{
if(!$dh = @opendir($dir))
{
return;
}
while (false !== ($obj = readdir($dh)))
{
if($obj == '.' || $obj == '..')
{
continue;
}
if (!@unlink($dir . '/' . $obj))
{
unlinkRecursive($dir.'/'.$obj, true);
}
}
closedir($dh);
if ($deleteRootToo)
{
@rmdir($dir);
}
return;
}
function get_admin_plugins(){
global $cfg_path, $map ;
$plugins = array();
$plugins_path = $cfg_path."/admin/modules";
$plugins_dir = scandir($plugins_path);
foreach ($plugins_dir as $key=> $val){
if ($val <>"." and $val <> ".."){
if (is_dir($plugins_path."/".$val)){
if (file_exists($plugins_path."/".$val."/plugins.php")){
include_once($plugins_path."/".$val."/plugins.php");
}
}
}
}
$map = array();
foreach($plugins as $key=>$parent){
foreach ($parent as $key2=>$val){
$map[$key2] = $val['url'].$val['file'];
}
}
return $plugins;
}
function init_admin_plugins(){
global $base_plugins,$cfg_static_server;
$base_plugins = array();
$base_plugins['content'] = array();
$base_plugins['content']['name'] = "Контент";
$base_plugins['content']['img_big'] = $cfg_static_server."/images/admin/page_content.gif";
$base_plugins['content']['img_sm'] = $cfg_static_server."/images/admin/content.png";
$base_plugins['content']['title'] = "Управление контентом сайта";
$base_plugins['services']['name'] = "Сервисы";
$base_plugins['services']['img_big'] = $cfg_static_server."/images/admin/page_services.gif";
$base_plugins['services']['img_sm'] = $cfg_static_server."/images/admin/services.png";
$base_plugins['services']['title'] = "Управление сервисными модулями";
$base_plugins['shop']['name'] = "Магазин";
$base_plugins['shop']['img_big'] = $cfg_static_server."/images/admin/page_store.gif";
$base_plugins['shop']['img_sm'] = $cfg_static_server."/images/admin/store.png";
$base_plugins['shop']['title'] = "Онлайн магазин";
/* $base_plugins['statistic']['name'] = "Веб-аналитика";
$base_plugins['statistic']['img_big'] = $cfg_static_server."/images/admin/page_statistics.gif";
$base_plugins['statistic']['img_sm'] = $cfg_static_server."/images/admin/statistic.png";
$base_plugins['statistic']['title'] = "Просмотр отчетов веб-аналитики";
*/
$base_plugins['settings']['name'] = "Настройки";
$base_plugins['settings']['img_big'] = $cfg_static_server."/images/admin/page_settings.gif";
$base_plugins['settings']['img_sm'] = $cfg_static_server."/images/admin/settings.png";
$base_plugins['settings']['title'] = "Управление настройками системы";
}
function admin_menu(){
global $in, $cfg_path,$cfg_static_path,$cfg_static_server, $plugins, $_ADMIN, $base_plugins;
$tpl = new Templates; //main
$out = "";
$sql = "select value_field from table_info where name_field='title'";
$row=db_fetch(db_query($sql));
$title = $row['value_field'];
$tpl->assign('title',$title);
$build_menu = "";
foreach ($base_plugins as $block_name=>$val){
if (count(@$plugins[$block_name]) > 0 ){
$bid = $tpl->createBlock();
$tpl->assignBlock('name',$val['name'],$bid);
$tpl->assignBlock('img_sm',$val['img_sm'],$bid);
$tpl->assignBlock('title',$val['title'],$bid);
$tpl->assignBlock('block_name',$block_name,$bid);
$sub_menu = "";
foreach ($plugins[$block_name] as $key2 => $val2){
if(@$_ADMIN['access'][$key2] == 1){
$bid2 = $tpl->createBlock();
$tpl->assignBlock('name',$val2['name'],$bid2);
$tpl->assignBlock('razdel_name',$key2,$bid2);
$tpl->assignBlock('img_sm', $val2['url']."/logo_sm.gif",$bid2);
$sub_menu .= $tpl->fetchBlock("admins/block/menu_sub_razdel.tpl",$bid2);
}
}
if($sub_menu <> ""){
$tpl->assignBlock('sub_menu',$sub_menu,$bid);
$build_menu .= $tpl->fetchBlock("admins/block/menu_razdel.tpl",$bid);
}
}
}
$tpl->assign('menu',$build_menu);
$output = $tpl->fetch("admins/menu.tpl");
return $output;
}
function vote($vid,$aid){
$vote_s = @$_COOKIE['votes'];
$vote = array();
if($vote_s <> ""){
$vote = @unserialize($vote_s);
}
$val = @$vote[$vid];
if($val <> 1){
$sql = "update vote_answer set count_ = count_ + 1 where vid='".$vid."' and aid='".$aid."' and disable=0 ";
if (db_query($sql)){
//$_SESSION['vote'][$vid] = 1;
$vote[$vid] = 1;
$vote_s = serialize($vote);
setcookie ('votes', $vote_s, time() + 25000000); //~300day
$_COOKIE['votes'] = $vote_s;
}
}
}
function crossing($url,$className="", $text_link = ""){
if($text_link == ""){
$text_link = text("move_to_shop");
}
$out = "".$text_link."";
return $out;
}
?>
$map['index'] = "index";
$map['main'] = "index";
$map['text'] = "text";
$map['sitemap'] = "sitemap";
$map['form'] = "form";
$map['search'] = "search";
$map['registration'] = "registration";
$map['trademark'] = "trademark";
$map['company'] = "company";
$map['list'] = "list";
$map['profile'] = "profile";
$map['razdel'] = "razdel";
$map['items'] = "items";
$map['add'] = "add";
$map['edit'] = "edit";
$map['action'] = "action";
$map['forum'] = "forum";
$map['notification'] = "notification";
$map['user_form'] = "user_form";
$map['login'] = "login";
$map['recovery'] = "recovery";
?>